8027ae44: 27 bd ff e8  ADDIU sp, sp, 0xffffffe8 (-24)
8027ae48: af bf 00 14  SW ra, sp, 0x14 (20)
8027ae4c: af a4 00 18  SW a0, sp, 0x18 (24)                    [sp + 0x18] === arg1

8027ae50: 3c 0e 80 33  LUI t6, 0x8033 (32819)
8027ae54: 8d ce dd cc  LW t6, t6, 0xffffddcc (-8756)
8027ae58: 15 c0 00 35  BNE t6, r0, 0x8027af30 (pc + 0xd4)  if (*(0x8032ddcc) != 0) goto 0x8027af30;
8027ae5c: 00 00 00 00  NOP

8027ae60: 8f af 00 18  LW t7, sp, 0x18 (24)
8027ae64: 3c 19 80 34  LUI t9, 0x8034 (32820)
8027ae68: 00 0f c1 00  SLL t8, t7, 0x4 (4)                     t8 = [sp + 0x18] * 16
8027ae6c: 03 0f c0 23  SUBU t8, t8, t7                         t8 = [sp + 0x18] * 15
8027ae70: 00 18 c0 80  SLL t8, t8, 0x2 (2)                     t8 = [sp + 0x18]*60
8027ae74: 03 38 c8 21  ADDU t9, t9, t8
8027ae78: 8f 39 b8 d4  LW t9, t9, 0xffffb8d4 (-18220)
8027ae7c: 13 20 00 2c  BEQ r0, t9, 0x8027af30 (pc + 0xb0)  if (*(0x8033b8d4 + arg1*60) == 0) goto 0x8027af30;
8027ae80: 00 00 00 00  NOP

8027ae84: 8f a8 00 18  LW t0, sp, 0x18 (24)
8027ae88: 3c 0a 80 34  LUI t2, 0x8034 (32820)
8027ae8c: 25 4a b8 d0  ADDIU t2, t2, 0xffffb8d0 (-18224)
8027ae90: 00 08 49 00  SLL t1, t0, 0x4 (4)
8027ae94: 01 28 48 23  SUBU t1, t1, t0
8027ae98: 00 09 48 80  SLL t1, t1, 0x2 (2)
8027ae9c: 01 2a 58 21  ADDU t3, t1, t2
8027aea0: 3c 01 80 33  LUI at, 0x8033 (32819)
8027aea4: ac 2b dd cc  SW t3, at, 0xffffddcc (-8756)       *(0x8032ddcc) = 0x8033b8d4 + arg1*60;

8027aea8: 3c 0c 80 33  LUI t4, 0x8033 (32819)
8027aeac: 8d 8c dd cc  LW t4, t4, 0xffffddcc (-8756)
8027aeb0: 3c 01 80 34  LUI at, 0x8034 (32820)
8027aeb4: 81 8d 00 00  LB t5, t4, 0x0 (0)
8027aeb8: a4 2d ba ca  SH t5, at, 0xffffbaca (-17718)      *(0x8033baca) = *(0x8032ddcc)->off0x00;

8027aebc: 3c 0e 80 33  LUI t6, 0x8033 (32819)
8027aec0: 8d ce dd cc  LW t6, t6, 0xffffddcc (-8756)
8027aec4: 8d cf 00 08  LW t7, t6, 0x8 (8)
8027aec8: 11 e0 00 08  BEQ r0, t7, 0x8027aeec (pc + 0x20)  if (*(0x8032ddcc)->off0x08 == 0) goto 0x8027aeec;
8027aecc: 00 00 00 00  NOP

8027aed0: 3c 18 80 33  LUI t8, 0x8033 (32819)
8027aed4: 8f 18 dd cc  LW t8, t8, 0xffffddcc (-8756)
8027aed8: 8f a4 00 18  LW a0, sp, 0x18 (24)
8027aedc: 8f 05 00 08  LW a1, t8, 0x8 (8)
8027aee0: 8f 06 00 0c  LW a2, t8, 0xc (12)
8027aee4: 0c 0e 0c ee  JAL 0x803833b8 (-2143800392)        0x803833b8(arg1, *(0x8032ddcc)->off0x08, *(0x8032ddcc)->off0x0c, *(0x8032ddcc)->off0x10);
8027aee8: 8f 07 00 10  LW a3, t8, 0x10 (16)

*
8027aeec: 3c 19 80 33  LUI t9, 0x8033 (32819)
8027aef0: 8f 39 dd cc  LW t9, t9, 0xffffddcc (-8756)
8027aef4: 8f 28 00 20  LW t0, t9, 0x20 (32)
8027aef8: 11 00 00 06  BEQ r0, t0, 0x8027af14 (pc + 0x18)  if (*(0x8032ddcc)->off0x20 == 0) goto 0x8027af14;
8027aefc: 00 00 00 00  NOP

8027af00: 3c 09 80 33  LUI t1, 0x8033 (32819)
8027af04: 8d 29 dd cc  LW t1, t1, 0xffffddcc (-8756)
8027af08: 00 00 20 25  OR a0, r0, r0
8027af0c: 0c 0a 73 ec  JAL 0x8029cfb0 (-2144743504)        0x8029cfb0(0, *(0x8032ddcc)->off0x20);
8027af10: 8d 25 00 20  LW a1, t1, 0x20 (32)

*
8027af14: 0c 09 ea 9d  JAL 0x8027aa74 (-2144884108)        0x8027aa74();
8027af18: 00 00 00 00  NOP

8027af1c: 3c 0a 80 33  LUI t2, 0x8033 (32819)
8027af20: 8d 4a dd cc  LW t2, t2, 0xffffddcc (-8756)
8027af24: 24 05 00 03  ADDIU a1, r0, 0x3 (3)
8027af28: 0c 0d f0 d8  JAL 0x8037c360 (-2143829152)        0x8037c360(*(0x8032ddcc)->off0x04, 3);
8027af2c: 8d 44 00 04  LW a0, t2, 0x4 (4)

**
8027af30: 10 00 00 01  BEQ r0, r0, 0x8027af38 (pc + 0x4)
8027af34: 00 00 00 00  NOP
8027af38: 8f bf 00 14  LW ra, sp, 0x14 (20)
8027af3c: 27 bd 00 18  ADDIU sp, sp, 0x18 (24)
8027af40: 03 e0 00 08  JR ra
8027af44: 00 00 00 00  NOP


if (*(0x8032ddcc) != 0) goto 0x8027af30;
if (*(0x8033b8d4 + arg1*60) == 0) goto 0x8027af30;
*(0x8032ddcc) = 0x8033b8d4 + arg1*60;
*(0x8033baca) = *(0x8032ddcc)->off0x00;
if (*(0x8032ddcc)->off0x08 == 0) goto 0x8027aeec;
0x803833b8(arg1, *(0x8032ddcc)->off0x08, *(0x8032ddcc)->off0x0c, *(0x8032ddcc)->off0x10);
8027aeec:
if (*(0x8032ddcc)->off0x20 == 0) goto 0x8027af14;
0x8029cfb0(0, *(0x8032ddcc)->off0x20);
8027af14:
0x8027aa74();
0x8037c360(*(0x8032ddcc)->off0x04, 3);
8027af30:
8027af30:

if (*(0x8032ddcc) == 0 && 0x8033b8d4[arg1]->off0x00) goto 0x8027af30; {
    *(0x8032ddcc) = &(0x8033b8d4[arg1]);
    *(0x8033baca) = *(0x8032ddcc)->off0x00;
    if (*(0x8032ddcc)->off0x08) {
        0x803833b8(arg1, *(0x8032ddcc)->off0x08, *(0x8032ddcc)->off0x0c, *(0x8032ddcc)->off0x10);
    }
    if (*(0x8032ddcc)->off0x20) {
        0x8029cfb0(0, *(0x8032ddcc)->off0x20);
    }
    0x8027aa74();
    0x8037c360(*(0x8032ddcc)->off0x04, 3);
}


void proc0x8027ae44(int arg1)
{
    if (*(0x8032ddcc) == 0 && 0x8033b8d4[arg1]->off0x00) goto 0x8027af30; {
        *(0x8032ddcc) = &(0x8033b8d4[arg1]);
        *(0x8033baca) = *(0x8032ddcc)->off0x00;
        if (*(0x8032ddcc)->off0x08) {
            0x803833b8(arg1, *(0x8032ddcc)->off0x08, *(0x8032ddcc)->off0x0c, *(0x8032ddcc)->off0x10);   /* process solidity */
        }
        if (*(0x8032ddcc)->off0x20) {
            0x8029cfb0(0, *(0x8032ddcc)->off0x20);   /* init objects */
        }
        0x8027aa74();
        0x8037c360(*(0x8032ddcc)->off0x04, 3);     /* Level GeoLayout related */
    }
}
